44 L$ = "THIS SUBROUTINE IS CALLED " +ZC$ +"ESCALATOR" +ZC$:V = 5: GOSUB 20320
45 FOR Z = 1 TO 1000: NEXT : PRINT : PRINT
59 PRINT "THE NEXT SUBROUTINE CREATES A NICE TITLEPAGE WHICH YOU CAN USE AT THE BEGINNING OF ONE OF YOUR PROGRAMS.": PRINT : PRINT "TYPE ANY KEY TO SEE IT RUN."
60 T1$ = "SAMPLE TITLE":T2$ = "THIS TITLE CAN BE":T3$ = "ONE, TWO, OR THREE LINES": GET Z$: GOSUB 21200: GOTO 200
61 HOME : FOR Z = 1 TO 30: VTAB RND(1) *23 +1: HTAB RND(1) *37 +1: PRINT "]";: FLASH : PRINT " ";: NORMAL : NEXT
62 L$ = "THIS MESSAGE APPEARS COURTESY OF A SUBROUTINE CALLED " +ZC$ +"HIDDEN MESSAGE" +ZC$ +". WARNING!!! IF YOU UNVEIL THE ENTIRE LINEIT WILL TRIGGER A ROUTINE WHICH WILL BOMB YOUR DIS"
100 DATA THERE IS REALLY NO EXCUSE FOR PUTTING,TEXT ON THE SCREEN IN A DULL FASHION,SUCH AS THIS.,,LET'S DO THIS PAGE OVER AGAIN AND SEE,IF WE CAN SPICE IT UP A LITTLE.,
101 DATA EACH SUBROUTINE IS WELL MARKED AND CAN,EASILY BE INCORPORATED INTO YOUR PRO-,GRAMS.,,,A 'REM' STATEMENT NEAR THE BEGINNING OF,EACH SUBROUTINE TELLS YOU WHAT VARIABLES
102 DATA NEED TO BE SET BEFORE USING THE ROUTINE.,THEY ARE USUALLY Z$ OR L$ FOR A STRING..,Z$(XX) FOR AN ARRAY...V FOR VTAB...AND,H FOR HTAB.,,,,,(TYPE ANY KEY)
103 END
200 HOME : PRINT "========================================": PRINT " NEXT: THE TAKE-OFFS": PRINT : PRINT "========================================"
201 FOR Z = 1 TO 2300: NEXT : GOSUB 305
205 PRINT "COLUMN WIPE ";: GET Z$: GOSUB 30000: GOSUB 305: PRINT "LEFT TO RIGHT WIPE ";: GET Z$: GOSUB 30010: GOSUB 305
210 PRINT "RIGHT TO LEFT WIPE ";: GET Z$: GOSUB 30020: GOSUB 305: PRINT "TOP TO BOTTOM WIPE ";: GET Z$: GOSUB 30030: GOSUB 305
215 PRINT "VERTICAL CENTER OUT WIPE ";: GET Z$: GOSUB 30060: GOSUB 305: PRINT "TWO WAY CENTER OUT WIPE ";: GET Z$: GOSUB 30070: GOSUB 305
220 PRINT "X-WIPE ";: GET Z$: GOSUB 30080: GOSUB 305
230 PRINT "SIMPLE SCROLL UP ";: GET Z$: GOSUB 30140: GOSUB 305: PRINT "FLASHY SCROLL UP ";: GET Z$: GOSUB 30150: GOSUB 305
235 PRINT "SCROLL DOWN ";: GET Z$: GOSUB 30160: GOSUB 305
240 PRINT "SLANT LEFT ";: GET Z$: GOSUB 30210: GOSUB 305: PRINT "SLANT RIGHT ";: GET Z$: GOSUB 30220: GOSUB 305
245 PRINT "SLANT FROM CENTER ";: GET Z$: GOSUB 30230: GOSUB 305: PRINT "SLANT FROM EDGES ";: GET Z$: GOSUB 30240: GOSUB 305
250 PRINT "BORDER WIPE ";: GET Z$:W = 2:CH$ = "%": GOSUB 30250: PRINT "THIS IS THE ONLY WIPE SUBROUTINE";
255 PRINT "WHICH REQUIRES THAT YOU PROVIDEVARIABLES.": PRINT : PRINT "THE VARIABLE YOU MUST SUPPLY ARE:": PRINT : PRINT "CH$ : THE BORDER CHARACTER USED": PRINT "W : THE WIDTH OF THE BORDER"
260 PRINT "MODE : INVERSE OR FLASH (OPTIONAL)": PRINT "IN THIS CASE, I USED THE FOLLOWINGTO CREATE THIS BORDER:": PRINT : PRINT "CH$ = "; CHR$(34);"%"; CHR$(34);" : W = 2": PRINT : PRINT : PRINT
265 PRINT "(TYPE ANY KEY TO CONTINUE) ";: GET Z$:W = 1:CH$ = ":":MODE = 2: GOSUB 30250: PRINT "EACH TIME YOU USE THIS ROUTINE,THE TEXT WINDOW WILL BE FILLED";
270 PRINT "WITH ANY CHARACTER YOU CHOOSE.": PRINT : PRINT "A NEW WINDOW WILL THEN BE OPENEDAND A BORDER OF BLANK SPACESWILL AUTOMATICALLY BE PROVIDED";
275 PRINT "AROUND THE NEXT TEXT YOU PUT ONTHE SCREEN.": PRINT : PRINT "FOR FLASHING CHARACTERS USE MODE= 1. FOR INVERSE CHARACTERS USEMODE = 2.": PRINT
280 PRINT "TO MAKE THIS BORDER I USED: CH$ = "; CHR$(34);":"; CHR$(34);" : W = 1 : MODE = 2 ";: GET Z$:W = 2:CH$ = "&": GOSUB 30250
285 PRINT "TO MAKE THIS BORDER I USED:": PRINT "CH$ = "; CHR$(34);"&"; CHR$(34);" : W = 2": PRINT : PRINT "IT'S NOT NECESSARY TO SETTHE MODE EACH TIME YOU USE";
290 PRINT "THIS ROUTINE. NORMAL CHAR-ACTERS WILL BE USED UNLESSMODE IS SET TO 1 OR 2.": PRINT : PRINT "LET'S TRY IT ONE MORE TIMEUSING W = 4 , MODE = 1 , ANDCH$ = "; CHR$(34);"*"; CHR$(34);". ";
295 GET Z$:W = 4:MODE = 1:CH$ = "*": GOSUB 30250: PRINT "USE THE FLASHINGMODE SPARINGLY. ITCAN GET TO BE A BITTOO MUCH.";: FOR Z = 1 TO 5000: NEXT : TEXT
300 GOTO 61
305 FOR Z = 1 TO 1500: NEXT : HOME : INVERSE : PRINT " TAKE-OFFS ";: HTAB 40: PRINT " ";: NORMAL : PRINT " THIS PROGRAM WILL DEMONSTRATE SUB- ";
310 INVERSE : PRINT " ";: NORMAL : PRINT " ROUTINES WHICH WIPE A PAGE OF TEXT ";: INVERSE : PRINT " ";: NORMAL : PRINT " OFF THE SCREEN. JUST AS THERE IS NO ";: INVERSE
315 PRINT " ";: NORMAL : PRINT " EXCUSE FOR PRESENTING TEXT IN A DULL ";: INVERSE : PRINT " ";: NORMAL : PRINT " FASHION, THERE IS ALSO NO REASON TO ";: INVERSE : PRINT " ";: NORMAL
320 PRINT " TO BE SATISFIED WITH A PLAIN OLD ";: INVERSE : PRINT " ";: NORMAL : PRINT " "; CHR$(34);"HOME"; CHR$(34);" WHEN YOU WANT TO GET RID OF A ";: INVERSE : PRINT " ";: NORMAL : PRINT " PAGE OF TEXT.";: HTAB 40: INVERSE : PRINT " ";
325 HTAB 40: PRINT " ";: NORMAL : PRINT " YOU WILL SEE THE LINES IN THIS BOX ";: INVERSE : PRINT " ";: NORMAL : PRINT " OVER AND OVER, SIMPLY AS A METHOD OF ";: INVERSE : PRINT " ";: NORMAL : PRINT " FILLING THE PAGE SO THAT THERE IS ";: INVERSE : PRINT " ";
330 NORMAL : PRINT " SOMETHING ON THE SCREEN TO WIPE OUT. ";: INVERSE : PRINT " ";: HTAB 40: PRINT " ";: NORMAL : PRINT " BENEATH THIS BOX YOU WILL SEE THE ";: INVERSE : PRINT " ";: NORMAL : PRINT " NAME OF THE SUBROUTINE WHICH WILL ";: INVERSE : PRINT " ";
335 NORMAL : PRINT " RUN AS SOON AS YOU TYPE A KEY. YOU ";: INVERSE : PRINT " ";: NORMAL : PRINT " CAN THEN LIST THIS PROGRAM TO FIND ";: INVERSE : PRINT " ";: NORMAL
340 PRINT " ANY SUBROUTINE YOU WANT TO USE. ";: INVERSE : PRINT " ";: HTAB 40: PRINT " ";: NORMAL :X = FRE(0): RETURN
19000 REM PUT-ONS
20000 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>ROLLING TEXT<CTRL-M>============<CTRL-M><CTRL-M>
20002 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THIS STATEMENT:<CTRL-M>DIM Z$(22)<CTRL-M>Z$(0) THROUGH Z$(22) SHOULD<CTRL-M>BE STRINGS OF 40 CHARACTERS<CTRL-M>OR LESS<CTRL-M>
20004 ZB = 22: FOR ZA = 0 TO 22: POKE 34,ZA
20006 FOR ZC = 0 TO ZB: HTAB 1: PRINT Z$(ZC);: IF LEN(Z$(ZC)) <40 THEN PRINT
20008 NEXT : NEXT : TEXT
20010 VTAB 23: HTAB 38: RETURN
20020 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>VERTICAL RISE<CTRL-M>=============<CTRL-M><CTRL-M>
20022 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THIS STATEMENT:<CTRL-M>DIM Z$(22)<CTRL-M>Z$(0) THROUGH Z$(22) SHOULD<CTRL-M>BE STRINGS OF 40 CHARACTERS<CTRL-M>OR LESS<CTRL-M>
20024 FOR Z = 0 TO 22
20026 Z$(Z) = Z$(Z) +" "
20028 NEXT
20030 POKE 33,1: FOR Z = 0 TO 39: POKE 32,Z: VTAB 24: FOR ZZ = 0 TO 22: PRINT MID$ (Z$(ZZ),Z +1,1);: NEXT : NEXT : PRINT " ": TEXT : HTAB 1: RETURN
20060 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>REPEATING LINE<CTRL-M>==============<CTRL-M>
20064 FOR Z = 0 TO 22:Z$(Z) = Z$(Z) +" ": NEXT
20066 FOR Z = 0 TO 22: FOR ZZ = 22 TO Z STEP -1: VTAB ZZ +1: PRINT LEFT$(Z$(Z),40);: NEXT : NEXT : RETURN
20070 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>CLICKS<CTRL-M>======<CTRL-M>
20072 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THESE VARIABLES:<CTRL-M>V (VTAB)<CTRL-M>Z$ (STRING OF ANY LENGTH)<CTRL-M>
20074 SPEED= 180: VTAB V: FOR Z = 1 TO LEN(Z$): PRINT MID$ (Z$,Z,1);:ZZ = PEEK( -16336) + PEEK( -16336): SPEED= 255: NEXT : PRINT : RETURN
20080 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>UP AND IN PULL<CTRL-M>==============<CTRL-M>
20082 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THESE VARIABLES:<CTRL-M>V (VTAB:LOWER NUMBERS ARE BEST)<CTRL-M>L$ (STRING:38 CHARACTERS OR LESS)
20084 POKE 34,V
20086 ZZ = LEN(L$): IF ZZ/2 < > INT(ZZ/2) THEN L$ = L$ +" "
20088 ZZ = LEN(L$)/2
20090 SPEED= 160: VTAB 23
20092 FOR Z = 1 TO LEN(L$)/2: HTAB 1: PRINT MID$ (L$,ZZ +1 -Z,1);: HTAB 40: PRINT MID$ (L$,ZZ +Z,1);: NEXT
20094 SPEED= 65
20096 FOR Z = 1 TO 23 -V -ZZ: PRINT : NEXT
20098 SPEED= 225
20100 FOR Z = 1 TO ZZ: VTAB V: HTAB 1: PRINT MID$ (L$,ZZ +1 -Z,Z);: HTAB 41 -Z: PRINT MID$ (L$,ZZ +1,Z);: VTAB 24: PRINT : NEXT
20102 FOR Z = 1 TO 20 -ZZ: VTAB V: HTAB Z: PRINT " "; LEFT$(L$,ZZ);: HTAB 41 -ZZ -Z: PRINT RIGHT$(L$,ZZ);" ";: NEXT
20104 SPEED= 255: POKE 34,0: RETURN
20110 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>RIGHT PULL<CTRL-M>==========<CTRL-M>
20112 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THESE VARIABLES:<CTRL-M>V (VTAB)<CTRL-M>Z$ (STRING:40 CHARACTERS OR LESS)
20114 Z$ = Z$ +" "
20116 SPEED= 240: FOR Z = 0 TO 39: VTAB V: HTAB 40 -Z: PRINT LEFT$(Z$,Z +1): NEXT : SPEED= 255: RETURN
20120 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>LEFT PULL<CTRL-M>=========<CTRL-M>
20122 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THESE VARIABLES:<CTRL-M>V (VTAB)<CTRL-M>Z$ (STRING: ANY LENGTH)<CTRL-M>
20124 SPEED= 235: FOR Z = 1 TO LEN(Z$): VTAB V: HTAB 1: PRINT RIGHT$(Z$,Z): NEXT : SPEED= 255: RETURN
20130 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>CENTER PULL<CTRL-M>===========<CTRL-M>
20132 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THESE VARIABLES:<CTRL-M>V (VTAB)<CTRL-M>Z$ (STRING:40 CHARACTERS OR LESS)
20134 SPEED= 235:Z = LEN(Z$): IF Z/2 < > INT(Z/2) THEN Z$ = Z$ +" ":Z = Z +1
20136 Z1 = 0: VTAB V: FOR ZZ = Z/2 TO 1 STEP -1: HTAB 20 -Z1:Z1 = Z1 +1: PRINT LEFT$(Z$,Z1); RIGHT$(Z$,Z1);: NEXT : PRINT : SPEED= 255: RETURN
20170 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>SLOT MACHINE TEXT<CTRL-M>=================<CTRL-M>
20172 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THESE VARIABLES:<CTRL-M>V (VTAB)<CTRL-M>L$ (STRING OF ANY LENGTH)<CTRL-M>
20174 VTAB V: SPEED= 240
20176 FOR Z = 1 TO LEN(L$):Z$ = MID$ (L$,Z,1)
20178 FOR ZZ = 32 TO 255: PRINT CHR$(ZZ);: IF CHR$(ZZ) < >Z$ THEN CALL -1008: NEXT
20320 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>ESCALATOR<CTRL-M>=========<CTRL-M>
20322 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THESE VARIABLES:<CTRL-M>V (VTAB)<CTRL-M>L$ (STRING:39 CHARACTERS OR LESS)
20324 FOR Z = 1 TO LEN(L$): IF MID$ (L$,Z,1) = " " THEN NEXT
20326 FOR ZZ = 24 TO V +1 STEP -1: VTAB ZZ: HTAB ZZ +12: PRINT MID$ (L$,Z,1);: FOR Z1 = 1 TO 4: NEXT : CALL -1008: PRINT " ";
20328 NEXT : IF Z > PEEK(36) THEN FOR Z2 = PEEK(36) TO Z -1: HTAB Z2: PRINT " "; MID$ (L$,Z,1);: FOR Z1 = 1 TO 3: NEXT : NEXT : CALL -1008: PRINT " ";: PRINT MID$ (L$,Z,1);
20330 IF Z = PEEK(36) THEN CALL -1008: CALL -998: PRINT MID$ (L$,Z,1);
20332 IF Z < PEEK(36) THEN FOR Z2 = PEEK(36) TO Z STEP -1: HTAB Z2: PRINT MID$ (L$,Z,1);: CALL -1008: FOR Z1 = 1 TO 3: NEXT : PRINT " ";: NEXT : CALL -998: CALL -1008: PRINT MID$ (L$,Z,1);
20334 NEXT : RETURN
20340 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>HIDDEN MESSAGE<CTRL-M>==============<CTRL-M>
20342 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>REQUIRES THESE VARIABLES:<CTRL-M>V (VTAB)<CTRL-M>L$(STRING OF ANY LENGTH)<CTRL-M>
20344 VTAB V: FOR Z = 1 TO LEN(L$): GET ZZ$:ZX = PEEK( -16336) - PEEK( -16336): PRINT MID$ (L$,Z,1);: NEXT : RETURN
21200 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>TITLE PAGE<CTRL-M>==========<CTRL-M>
21202 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>VARIABLES NEEDED:<CTRL-M>T1$: FIRST LINE OF TITLE<CTRL-M>T2$: SECOND LINE OF TITLE<CTRL-M>T3$: THIRD LINE OF TITLE<CTRL-M>
21204 IF LEN(T1$) <34 THEN T1$ = T1$ +" "
21206 IF LEN(T1$) <34 THEN T1$ = " " +T1$: GOTO 21204
21208 IF LEN(T2$) <34 THEN T2$ = T2$ +" "
21210 IF LEN(T2$) <34 THEN T2$ = " " +T2$: GOTO 21208
21212 IF LEN(T3$) <34 THEN T3$ = T3$ +" "
21214 IF LEN(T3$) <34 THEN T3$ = " " +T3$: GOTO 21212
21216 HOME : PRINT "*";: FOR Z = 1 TO 38: PRINT "^";: NEXT : PRINT "*<";: INVERSE : FOR Z = 1 TO 38: PRINT " ";: NEXT : NORMAL : PRINT "><";: INVERSE : PRINT " ";: NORMAL : PRINT "*";
21218 INVERSE :A$ = "''''!''''!''''!''''!''''!''''!''''": PRINT A$;: NORMAL : PRINT "*";: INVERSE : PRINT " ";: NORMAL : PRINT ">";
21220 B$ = "::::!::::!::::!::::!::::!::::!::::"
21222 FOR Z = 1 TO 8: PRINT "<";: INVERSE : PRINT " ";: NORMAL : PRINT ">";: INVERSE : PRINT B$;: NORMAL : PRINT "<";: INVERSE : PRINT " ";: NORMAL : PRINT "><";: INVERSE : PRINT " ";: NORMAL : PRINT ">";: INVERSE : PRINT A$;: NORMAL : PRINT "<";: INVERSE : PRINT " ";: NORMAL : PRINT ">";: NEXT
21224 PRINT "<";: INVERSE : PRINT " ";: NORMAL : PRINT ">";: INVERSE : PRINT B$;: NORMAL : PRINT "<";: INVERSE : PRINT " ";: NORMAL : PRINT "><";
21226 INVERSE : PRINT " ";: NORMAL : PRINT ">";: FOR Z = 1 TO 34: PRINT "V";: NEXT : PRINT "<";: INVERSE : PRINT " ";: NORMAL : PRINT "><";
21228 INVERSE : PRINT " ";: NORMAL : PRINT "*";: FOR Z = 1 TO 34: PRINT "^";: NEXT : PRINT "*";: INVERSE : PRINT " ";: NORMAL : PRINT "><";
21230 INVERSE : FOR Z = 1 TO 38: PRINT " ";: NEXT : NORMAL : PRINT ">*";: FOR Z = 1 TO 38: PRINT "V";: NEXT
21238 VTAB 21: FOR XZ = 1 TO 7: PRINT : FOR ZZ = 1 TO 12:X = PEEK( -16336): NEXT : FOR Z = 1 TO 500: NEXT : NEXT
21240 PRINT : FOR Z = 1 TO 12:X = PEEK( -16336): NEXT
21242 VTAB 14: PRINT T3$;: FOR Z = 1 TO 500: NEXT : POKE 35,13: VTAB 13
21244 PRINT : FOR ZZ = 1 TO 12:X = PEEK( -16336): NEXT : FOR Z = 1 TO 500: NEXT
21246 PRINT : FOR Z = 1 TO 12:X = PEEK( -16336): NEXT
21248 VTAB 12: PRINT T2$;: FOR Z = 1 TO 500: NEXT : POKE 35,11: VTAB 11
21250 PRINT : FOR ZZ = 1 TO 12:X = PEEK( -16336): NEXT : FOR Z = 1 TO 500: NEXT
21252 PRINT : FOR Z = 1 TO 12:X = PEEK( -16336): NEXT
21254 VTAB 10: PRINT T1$;: FOR Z = 1 TO 500: NEXT : POKE 35,9: VTAB 9
21256 FOR XZ = 1 TO 6: PRINT : FOR ZZ = 1 TO 12:X = PEEK( -16336): NEXT : FOR Z = 1 TO 500: NEXT : NEXT
21258 FOR X = 1 TO 5000: NEXT : TEXT : RETURN
30000 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>COLUMN WIPE<CTRL-M>===========<CTRL-M>
30002 FOR A = 1 TO 40: POKE 33,A: FOR B = 1 TO 10: PRINT : NEXT : NEXT : FOR A = 1 TO 15: PRINT : NEXT
30004 RETURN
30010 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>LEFT TO RIGHT WIPE<CTRL-M>==================<CTRL-M>
30012 FOR Z = 1 TO 40: POKE 33,Z: FOR ZZ = 1 TO 15: NEXT : HOME : NEXT : RETURN
30020 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>RIGHT TO LEFT WIPE<CTRL-M>==================<CTRL-M>
30022 FOR Z = 39 TO 0 STEP -1: POKE 32,Z: POKE 33,40 -Z: HOME : NEXT : RETURN
30030 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>TOP TO BOTTOM WIPE<CTRL-M>==================<CTRL-M>
30032 FOR Z = 1 TO 24: POKE 35,Z: FOR ZZ = 1 TO 25: NEXT : HOME : NEXT : RETURN
30060 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>VERTICAL CENTER OUT WIPE<CTRL-M>========================<CTRL-M>
30062 FOR Z = 19 TO 0 STEP -1: POKE 32,Z: POKE 33,40 -2 *Z: FOR ZZ = 1 TO 15: NEXT : HOME : NEXT : RETURN
30070 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>TWO-WAY CENTER OUT WIPE<CTRL-M>=======================<CTRL-M>
30072 FOR Z = 19 TO 0 STEP -1: POKE 32,Z: POKE 33,40 -2 *Z: POKE 34, INT(Z/2): POKE 35,24 - INT(Z/2): HOME : NEXT : RETURN
30080 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>X-WIPE<CTRL-M>======<CTRL-M>
30082 POKE 33,1: FOR Z = 11 TO 0 STEP -1: POKE 34,Z: POKE 35,24 -Z: POKE 32,Z: HOME : POKE 32,39 -Z: HOME : NEXT
30084 FOR Z = 0 TO 11: POKE 33,2 +2 *Z: POKE 32,19 -Z: POKE 34,11 -Z: POKE 35,13 -Z: HOME : POKE 34,11 +Z: POKE 35,13 +Z: HOME : NEXT
30086 TEXT : FOR Z = 12 TO 1 STEP -1: VTAB Z: CALL -875: VTAB 25 -Z: CALL -875: NEXT : RETURN
30110 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>SPIRAL WIPE<CTRL-M>===========<CTRL-M>
30112 VTAB 12: HTAB 13: PRINT " "
30114 VTAB 13: FOR Z = 28 TO 13 STEP -1: HTAB Z: PRINT " ";: NEXT
30116 TL = 12:TR = 29:BR = 14:BL = 13:OT = 11
30118 ONERR GOTO 30126
30120 FOR X = BL TO TL STEP -1: VTAB X: HTAB TL: PRINT " ";: NEXT :BL = BL +1: FOR X = TL TO TR: VTAB TL: HTAB X: PRINT " ";: NEXT :TL = TL -1
30122 FOR X = TL +1 TO BR: VTAB X: HTAB TR: PRINT " ";: NEXT :TR = TR +1
30124 FOR X = TR -1 TO OT STEP -1: VTAB BR: HTAB X: PRINT " ";: NEXT :BR = BR +1:OT = OT -1: GOTO 30120
30140 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>SIMPLE SCROLL UP<CTRL-M>================<CTRL-M>
30142 FOR Z = 1 TO 24: PRINT :ZZ = PEEK( -16336) + PEEK( -16336): FOR ZQ = 1 TO 50: NEXT : NEXT : RETURN
30150 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>FLASHY SCROLL UP<CTRL-M>================<CTRL-M>
30152 POKE -16298,0: POKE -16302,0
30154 FOR Z = 1 TO 25: FOR ZZ = 1 TO 35: NEXT : POKE -16304,0:ZQ = PEEK( -16336) - PEEK( -16336): PRINT : FOR ZZ = 1 TO 35: NEXT : POKE -16303,0: NEXT : RETURN
30160 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>SCROLL DOWN<CTRL-M>===========<CTRL-M>
30166 FOR Z = 1 TO LEN(Z$): POKE 511 +Z, ASC( MID$ (Z$,Z,1)) +128: NEXT : POKE 72,0: CALL -144
30168 X = PEEK( -16336) + PEEK( -16336): VTAB 1: HTAB 1: PRINT " ": FOR Z = 1 TO 23: CALL -144:X = PEEK( -16336) + PEEK( -16336): NEXT : RETURN
30210 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>SLANT LEFT<CTRL-M>==========<CTRL-M>
30212 VTAB 24: FOR Z = 39 TO 0 STEP -1: POKE 32,Z: POKE 33,40 -Z: PRINT : NEXT : FOR Z = 1 TO 24: PRINT : NEXT : RETURN
30220 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>SLANT RIGHT<CTRL-M>===========<CTRL-M>
30222 VTAB 24: FOR Z = 1 TO 40: POKE 33,Z: PRINT : NEXT : FOR Z = 1 TO 24: PRINT : NEXT : RETURN
30230 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>SLANT FROM CENTER<CTRL-M>=================<CTRL-M>
30232 VTAB 24: FOR Z = 19 TO 0 STEP -1: POKE 32,Z: POKE 33,(20 -Z) *2: PRINT : NEXT : FOR Z = 1 TO 24: PRINT : NEXT : RETURN
30240 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>SLANT FROM EDGES<CTRL-M>================<CTRL-M>
30242 VTAB 24: FOR Z = 1 TO 20: POKE 33,Z: POKE 32,0: PRINT : POKE 32,40 -Z: PRINT : NEXT : TEXT : FOR Z = 1 TO 24: PRINT : NEXT : RETURN
30250 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M>BORDER WIPE<CTRL-M>===========<CTRL-M><CTRL-M>VARIABLES REQUIRED:
30252 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>CH$ (BORDER CHARACTER)<CTRL-M>W (WIDTH OF BORDER)<CTRL-M>MODE (OPTIONAL:<CTRL-M> SET MODE=1 FOR FLASH OR<CTRL-M> SET MODE=2 FOR INVERSE)<CTRL-M>